import java.math.BigInteger;
import java.util.*;


public class Main {
    public static void main(String[] args) {
        BigInteger res=func2(202320232023L);
        System.out.println(res);
    }
    public static BigInteger func2(long n){
        BigInteger res=BigInteger.ONE;
        BigInteger sum=BigInteger.ZERO;
        for(long i=1;i<=n;i++){
            res=BigInteger.valueOf(i).multiply(res);
            sum=sum.add(res);
        }
        return sum;
    }
    public static void main2(String[] args) {
        int cnt=0;
        long num=1;
        long res=0;
        while(cnt<2023){
            if(num%func(num,2)==0&&num%func(num,8)==0&&num%func(num,10)==0&&num%func(num,16)==0){
                res=num;
                cnt++;
            }
            num++;
        }
        System.out.println(res);
    }
    public static long func(long n,long cnt){
        long res=0;
        while(n!=0){
            long num=n%cnt;
            n/=cnt;
            res+=num;
        }
        return res;
    }
    public static void main1(String[] args) {
        for(int i=10000000;i>0;i--){
            if(func(i)){
                System.out.println(i);
                break;
            }
        }
    }
    public static boolean func(int n){
        String s=n+"";
        int len=s.length();
        int[] dp=new int[len];
        for(int i=0;i<len;i++){
            dp[i]=s.charAt(i)-'0';
        }
        int sum=0;
        for(int i=len;sum<n;i++){
            for(int j=0;j<len;j++){
                sum+=dp[j];
            }
            dp[i%len]=sum;
        }
        return sum==n;
    }
}